# -*- coding:utf-8
# 5353. 灯泡开关 III 显示英文描述
# 用户通过次数22
# 用户尝试次数24
# 通过次数22
# 提交次数25
# 题目难度Medium
# 房间中有 n 枚灯泡，编号从 1 到 n，自左向右排成一排。最初，所有的灯都是关着的。
#
# 在 k  时刻（ k 的取值范围是 0 到 n - 1），我们打开 light[k] 这个灯。
#
# 灯的颜色要想 变成蓝色 就必须同时满足下面两个条件：
#
# 灯处于打开状态。
# 排在它之前（左侧）的所有灯也都处于打开状态。
# 请返回能够让 所有开着的 灯都 变成蓝色 的时刻 数目 。

from typing import List
class Solution:
    def numTimesAllBlue(self, light: List[int]) -> int:
        maxx = 0
        res = 0
        memo = set()
        for i in range(light.__len__()):
            maxx = max(maxx,light[i])
            memo.add(light[i])
            if maxx == memo.__len__():
                res += 1

        return res





